package dry.example.gui;

import javax.swing.*;

public class AbsoluteLayoutDemo {
    public static void main(String[] args) {
        // 创建主窗口
        JFrame frame = new JFrame("绝对布局示例");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);

        // 创建面板并设置为 null 布局（即绝对布局）
        JPanel panel = new JPanel();
        panel.setLayout(null); // 关键步骤：关闭布局管理器

        // 创建组件
        JLabel userLabel = new JLabel("用户名:");
        JTextField userField = new JTextField();

        JLabel passLabel = new JLabel("密码:");
        JPasswordField passField = new JPasswordField();

        JButton loginButton = new JButton("登录");
        JButton cancelButton = new JButton("取消");

        // 设置组件位置和大小（x, y, width, height）
        userLabel.setBounds(50, 30, 80, 25);
        userField.setBounds(150, 30, 200, 25);

        passLabel.setBounds(50, 70, 80, 25);
        passField.setBounds(150, 70, 200, 25);

        loginButton.setBounds(150, 120, 80, 30);
        cancelButton.setBounds(250, 120, 80, 30);

        // 添加组件到面板
        panel.add(userLabel);
        panel.add(userField);
        panel.add(passLabel);
        panel.add(passField);
        panel.add(loginButton);
        panel.add(cancelButton);

        // 把面板加入窗口
        frame.add(panel);
        frame.setVisible(true);
    }
}
